package Vista;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.rmi.RemoteException;

import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

import VO.ProveedorVO;

import conexion.ProxyIR;





/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class AltaProveedorGUI extends javax.swing.JFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = -9037371438427420862L;
	private JLabel codigoLbl;
	private JTextField razonsocTxt;
	private JButton salirProveedorBtn;
	private JButton agregarProveedorBtn;
	private JTextField direccionTxt;
	private JLabel direccionLbl;
	private JLabel jLabel1;
	private JTextField telefonoTxt;
	private JLabel mensaje;
	private JTextField valor;
	private JRadioButton descXPago;
	private JRadioButton descXProducto;
	private JRadioButton descXcanti;
	private JLabel condicionCompra;
	private JLabel descripcionLbl;
	private JTextField cuitTxt;
	static private AltaProveedorGUI _instance;
	private ProxyIR server;

	/**
	* Auto-generated main method to display this JFrame
	*/
	static public AltaProveedorGUI getInstance() {
		if (_instance == null) {			
			_instance = new AltaProveedorGUI();
		}
		
		return _instance;
	}	
	public AltaProveedorGUI() {
		super();
		initGUI();
		server = ProxyIR.getInstance();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			getContentPane().setLayout(null);
			this.setTitle("Alta Proveedor");
			{
				codigoLbl = new JLabel();
				getContentPane().add(codigoLbl);
				codigoLbl.setText("Cuit");
				codigoLbl.setBounds(8, 35, 63, 28);
			}
			{
				cuitTxt = new JTextField();
				getContentPane().add(cuitTxt);
				cuitTxt.setBounds(96, 36, 167, 28);
			}
			{
				descripcionLbl = new JLabel();
				getContentPane().add(descripcionLbl);
				descripcionLbl.setText("Razon social");
				descripcionLbl.setBounds(10, 68, 75, 28);
			}
			{
				razonsocTxt = new JTextField();
				getContentPane().add(razonsocTxt);
				razonsocTxt.setBounds(96, 69, 167, 28);
			}
			{
				direccionLbl = new JLabel();
				getContentPane().add(direccionLbl);
				direccionLbl.setText("Direccion");
				direccionLbl.setBounds(10, 104, 86, 28);
			}
			{
				direccionTxt = new JTextField();
				getContentPane().add(direccionTxt);
				direccionTxt.setBounds(96, 106, 376, 28);
			}
			{
				agregarProveedorBtn = new JButton();
				getContentPane().add(agregarProveedorBtn);
				agregarProveedorBtn.setText("Agregar");
				agregarProveedorBtn.setBounds(312, 256, 77, 28);
				agregarProveedorBtn.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {
						
					String cuit = cuitTxt.getText();
					String razonsoc = razonsocTxt.getText();
					String direccion = direccionTxt.getText();
					String telefono = telefonoTxt.getText();
					Boolean descPorCantidad = descXcanti.isSelected();
					Boolean descPorProducto = descXProducto.isSelected();
					Boolean descPorPago = descXPago.isSelected();
					Float valorDescuento =new Float(valor.getText());
					if(cuit == null){
						mensaje.setText("El cuit esta vacio");
						return;
					}else if(razonsoc == null){
						mensaje.setText("La descripcion esta vacia");
						return;
					}else if(direccion == null){
						mensaje.setText("La direccion esta vacia");
						return;
					}
					String condCompra = null;
					int cantDias=0;
					try {
						if(descPorCantidad.booleanValue()){
							condCompra = "contado";

						}else if(descPorPago.booleanValue()){
							condCompra = "30";
							
						}else if(descPorProducto.booleanValue()){							
							condCompra = "60";
						}
						 
						ProveedorVO prov=new ProveedorVO();
						prov.setCuit(cuit);
						prov.setDireccion(direccion);
						prov.setDescuento(valorDescuento);
						prov.setNombre(razonsoc);
						prov.setTelefono(telefono);
						prov.setCondicionCompra(condCompra);
						server.altaProveedor(prov);
						
						cuitTxt.setText("");
						razonsocTxt.setText("");
						direccionTxt.setText("");
						descXcanti.setSelected(false);
						descXProducto.setSelected(false);
						descXPago.setSelected(false);
						valor.setText("");
						mensaje.setText("Proveedor cargado exitosamente!");
						
					} catch (RemoteException e1) {
						mensaje.setText("Error al grabar el proveedor!");
						e1.printStackTrace();
					}				
									
					}
				});
			}
			{
				salirProveedorBtn = new JButton();
				getContentPane().add(salirProveedorBtn);				
				getContentPane().add(getCondicionCompra());
				getContentPane().add(getDescXcanti());
				getContentPane().add(getdescXProducto());
				getContentPane().add(getDescXPago());
				getContentPane().add(getValor());
				getContentPane().add(getMensaje());
				getContentPane().add(getJTextField1());
				getContentPane().add(getJLabel1());
				salirProveedorBtn.setText("Salir");
				salirProveedorBtn.setBounds(403, 256, 78, 28);
				salirProveedorBtn.addActionListener(new ActionListener() {
					public void actionPerformed(ActionEvent evt) {

						AltaProveedorGUI.getInstance().setVisible(false);
												
					}
				});
			}
			pack();
			this.setSize(516, 339);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}	
	
	private JLabel getCondicionCompra() {
		if(condicionCompra == null) {
			condicionCompra = new JLabel();
			condicionCompra.setText("Condicion de compra:");
			condicionCompra.setBounds(12, 177, 157, 15);
			condicionCompra.setFont(new java.awt.Font("Tahoma",2,12));
		}
		return condicionCompra;
	}

	private JRadioButton getDescXcanti() {
		if(descXcanti == null) {
			descXcanti = new JRadioButton();
			descXcanti.setText("Contado");
			descXcanti.setBounds(20, 204, 88, 19);
			descXcanti.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXProducto.setSelected(false);
					descXPago.setSelected(false);
					
				}
			});
		}
		return descXcanti;
	}
	
	private JRadioButton getdescXProducto() {
		if(descXProducto == null) {
			descXProducto = new JRadioButton();
			descXProducto.setText("A 30 Dias");
			descXProducto.setBounds(146, 204, 97, 19);
			descXProducto.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXcanti.setSelected(false);
					descXPago.setSelected(false);
				}
			});
		}
		return descXProducto;
	}
	
	private JRadioButton getDescXPago() {
		if(descXPago == null) {
			descXPago = new JRadioButton();
			descXPago.setText("A 60 Dias");
			descXPago.setBounds(265, 204, 83, 19);
			descXPago.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent evt) {
					descXcanti.setSelected(false);
					descXProducto.setSelected(false);
				}
			});
		}
		return descXPago;
	}
	
	private JTextField getValor() {
		if(valor == null) {
			valor = new JTextField();
			valor.setBounds(400, 203, 78, 22);
		}
		return valor;
	}
	
	private JLabel getMensaje() {
		if(mensaje == null) {
			mensaje = new JLabel();
			mensaje.setBounds(25, 256, 275, 22);
		}
		return mensaje;
	}
	
	private JTextField getJTextField1() {
		if(telefonoTxt == null) {
			telefonoTxt = new JTextField();
			telefonoTxt.setBounds(96, 137, 167, 28);
		}
		return telefonoTxt;
	}
	
	private JLabel getJLabel1() {
		if(jLabel1 == null) {
			jLabel1 = new JLabel();
			jLabel1.setText("Telefono");
			jLabel1.setBounds(5, 138, 86, 28);
		}
		return jLabel1;
	}

}